package org.japo.java.basics.main;

/*******************************************************************************
 * @author José A. Pacheco Ondoño
 * @version 1.1 - 24/10/2011
 *
 * Sintaxis;
 *       java ClaseBoolean | more
 *
 * Este programa sirve para ilustrar la utilización de los métodos de la clase 
 * Boolean.
 ******************************************************************************/
public class ClaseBoolean {

    /***************************************************************************
     * Método de entrada al programa
     **************************************************************************/
    public static void main(String[] arg) {
        // Constantes
        final String FRASE = "TRUE";
        final boolean TEST = false;

        // Variables
        Boolean objBoolean;

        // Constantes predefinidas
        System.out.println();
        System.out.println("Constantes predefinidas de la clase Boolean ...");
        System.out.println("Valor FALSO  de un dato boolean FALSE --> " + 
                Boolean.FALSE);
        System.out.println("Valor CIERTO de un dato boolean TRUE ---> " + 
                Boolean.TRUE);

        // Constructor a partir de un dato boolean
        System.out.println();
        System.out.println("A partir del dato boolean " + TEST + " ...");
        objBoolean = new Boolean(TEST);
        System.out.println("... se obtiene el objeto Boolean ..." + objBoolean);

        // Constructor a partir de una cadena
        System.out.println();
        System.out.println("A partir de la cadena \"" + FRASE + "\" ...");
        objBoolean = new Boolean(FRASE);
        System.out.println("... se obtiene el objeto Boolean " + objBoolean);

        // Generar un objeto Boolean a partir de una cadena de caracteres
        System.out.println();
        System.out.println("A partir de la cadena \"" + FRASE + "\" ...");
        System.out.println("... se obtiene el objeto Boolean " + 
                Boolean.valueOf(FRASE));
        System.out.println("Nota; Este método es estático, por ello ...");
        System.out.println("... NO SE INSTANCIA la clase Boolean para utilizarlo.");

        // Obtención del dato boolean de un objeto Boolean
        System.out.println();
        System.out.println("A partir del objeto Boolean " + objBoolean);
        System.out.println("... se obtiene el dato boolean " + 
                objBoolean.booleanValue());

        // Conversión de un objeto Boolean a cadena de caracteres
        System.out.println();
        System.out.println("A partir del objeto Boolean " + objBoolean);
        System.out.println("... se obtiene la cadena " + 
                "\"" + objBoolean.toString() + "\"");
    }
}